👷 ci(github): test against Python 3.15 - #180
Closed
gaborbernat wants to merge 2 commits into
Closed
Conversation
Mirrors how 3.14 was added in e709c83: a matrix entry in build.yml and the corresponding env in the tox envlist. The existing `${{ matrix.py }}-dev` suffix on setup-python already picks up the newest prerelease, so no extra handling is needed. No classifier is added yet. The 3.14 classifier landed once 3.14 reached rc; 3.15 is still in beta, so this only starts testing against it rather than declaring support. Signed-off-by: Bernát Gábor <gaborjbernat@gmail.com>
gaborbernat
marked this pull request as draft
July 21, 2026 05:02
memray 1.19.3 predates the 3.15 support merged in bloomberg/memray#920 and ships no cp315 wheels, so pip falls back to the sdist and the C extension build fails on the runner. Until a memray release covers 3.15, the py315 tox env installs memray from git main and the py315 CI leg alone gains the apt packages memray's own CI uses to build it. All other legs keep installing released memray from PyPI; the pin and the extra CI step should both be dropped once cp315 wheels are published. Signed-off-by: Bernát Gábor <gaborjbernat@gmail.com>
Contributor
Author
|
Dropping this until memray publishes cp315 wheels; the branch stays for when it does. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Python 3.15 is at beta 4. Adding it to CI now surfaces breakage while there is still time to report it upstream, ahead of the release candidate.
The change mirrors the 3.14 addition in e709c83: one matrix entry in
build.ymland the matching env in the toxenvlist. It needs no prerelease handling, because the${{ matrix.py }}-devsuffix already onsetup-pythonresolves to the newest available build. The job picked up3.15.0-beta.4and created its virtualenv without trouble. 🐍 It also skips the classifier. The 3.14 classifier landed once 3.14 reached rc, and 3.15 is still in beta, so this starts testing the version short of declaring support for it.memray ships no
cp315wheels; its newest release, 1.19.3, coverscp38throughcp314, so on 3.15 pip falls back to the sdist and the build stops atfatal error: libunwind.h: No such file or directory. Upstream merged 3.15 support when it closed Support Python 3.15 on 2026-05-20, six weeks after publishing 1.19.3 on 2026-04-08, so that work exists onmainbut not in any release.To test something real in the meantime, the
py315tox env installsmemray @ git+https://github.com/bloomberg/memray.gitand thepy315CI leg alone installs the apt packages memray's own CI uses to build from source (libdebuginfod-dev,libunwind-dev,liblz4-dev,pkg-config). The job exercises memray's merged 3.15 support rather than a stale sdist, while every other leg keeps installing released memray from PyPI. ⏳ The git pin and the extra apt step are temporary; drop both once memray cuts a release withcp315wheels.